Query-Driven Program Testing
نویسندگان
چکیده
We present a new approach to program testing which enables the programmer to specify test suites in terms of a versatile query language. Our query language subsumes standard coverage criteria ranging from simple basic block coverage all the way to predicate complete coverage and multiple condition coverage, but also facilitates on-the-fly requests for test suites specific to the code structure, to external requirements, or to ad hoc needs arising in program understanding/exploration. The query language is supported by a model checking backend which employs the CBMC framework. Our main algorithmic contribution is a method called iterative constraint strengthening which enables us to solve a query for an arbitrary coverage criterion by a single call to the model checker and a novel form of incremental SAT solving: Whenever the SAT solver finds a solution, our algorithm compares this solution against the coverage criterion, and strengthens the clause database with additional clauses which exclude redundant new solutions. We demonstrate the scalability of our approach and its ability to compute compact test suites with experiments involving device drivers, automotive controllers, and open source projects.
منابع مشابه
Does the theory-driven program affect the risky behavior of drug injecting users in a healthy city? A quasi-experimental study
Background: The horror of HIV/AIDS as a non-curable, grueling disease is a destructive issue for every country. Drug use, shared needles and unsafe sex are closely linked to the transmission of HIV/AIDS. Modification or changing unhealthy behavior through educational programs can lead to HIV prevention. The aim of this study was to evaluate the efficiency of theory-based education intervention ...
متن کاملInterface-driven Model-based Test Generation of Java Test Drivers
This paper extends prior work in model-based verification and describes interface-driven analysis that combines textual requirement modeling to support automated test generation of Java test scripts for executing against a database. It describes concepts of models and test driver mappings using examples for testing security functionality of an Oracle database using Java and standard Structured ...
متن کاملThe Influence of Data-Driven Exercises Through Using a Computer Program on Vocabulary Improvement in an EFL Context
The present study was conducted to evaluate data driven learning (DDL) combined with Computer Assisted Language Learning (CALL) as an approach to improving vocabulary knowledge of Iranian postgraduates majoring in teaching English, English literature and translation. The purpose was to help language learners get familiar with DDL as a student-centered method taking advantage of a computer progr...
متن کاملNusselt Number Estimation along a Wavy Wall in an Inclined Lid-driven Cavity using Adaptive Neuro-Fuzzy Inference System (ANFIS)
In this study, an adaptive neuro-fuzzy inference system (ANFIS) was developed to determine the Nusselt number (Nu) along a wavy wall in a lid-driven cavity under mixed convection regime. Firstly, the main data set of input/output vectors for training, checking and testing of the ANFIS was prepared based on the numerical results of the lattice Boltzmann method (LBM). Then, the ANFIS was develope...
متن کاملAutomatically generating features for learning program analysis heuristics
We present a technique for automatically generating features for data-driven program analyses. Recently data-driven approaches for building a program analysis have been proposed, which mine existing codebases and automatically learn heuristics for finding a cost-effective abstraction for a given analysis task. Such approaches reduce the burden of the analysis designers, but they do not remove i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009